# XFAIL: system-darwin
# XFAIL: system-windows
# REQUIRES: native && (target-x86 || target-x86_64) && native-cpu-sse
# RUN: %clangxx_host %p/Inputs/x86-mm-xmm-write.cpp -o %t
# RUN: %lldb -b -s %s %t | FileCheck %s
process launch

register write mm0 0x0001020304050607
register write mm1 0x1011121314151617
register write mm2 0x2021222324252627
register write mm3 0x3031323334353637
register write mm4 0x4041424344454647
register write mm5 0x5051525354555657
register write mm6 0x6061626364656667
register write mm7 0x7071727374757677

register write xmm0 "{0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f}"
register write xmm1 "{0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10}"
register write xmm2 "{0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11}"
register write xmm3 "{0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12}"
register write xmm4 "{0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13}"
register write xmm5 "{0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14}"
register write xmm6 "{0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15}"
register write xmm7 "{0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16}"

process continue
# CHECK: process continue

# CHECK-DAG: mm0 = 0x0001020304050607
# CHECK-DAG: mm1 = 0x1011121314151617
# CHECK-DAG: mm2 = 0x2021222324252627
# CHECK-DAG: mm3 = 0x3031323334353637
# CHECK-DAG: mm4 = 0x4041424344454647
# CHECK-DAG: mm5 = 0x5051525354555657
# CHECK-DAG: mm6 = 0x6061626364656667
# CHECK-DAG: mm7 = 0x7071727374757677

# CHECK-DAG: xmm0 = { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f }
# CHECK-DAG: xmm1 = { 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 }
# CHECK-DAG: xmm2 = { 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 }
# CHECK-DAG: xmm3 = { 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 }
# CHECK-DAG: xmm4 = { 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 }
# CHECK-DAG: xmm5 = { 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 }
# CHECK-DAG: xmm6 = { 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 }
# CHECK-DAG: xmm7 = { 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 }

# CHECK: Process {{[0-9]+}} exited with status = 0
